(0) Obligation:

Clauses:

insert(X, void, tree(X, void, void)).
insert(X, tree(X, Left, Right), tree(X, Left, Right)).
insert(X, tree(Y, Left, Right), tree(Y, Left1, Right)) :- ','(less(X, Y), insert(X, Left, Left1)).
insert(X, tree(Y, Left, Right), tree(Y, Left, Right1)) :- ','(less(Y, X), insert(X, Right, Right1)).
less(0, s(X1)).
less(s(X), s(Y)) :- less(X, Y).

Query: insert(a,a,g)

(1) PrologToDTProblemTransformerProof (SOUND transformation)

Built DT problem from termination graph DT10.

(2) Obligation:

Triples:

lessA(s(X1), s(X2)) :- lessA(X1, X2).
lessF(s(X1), s(X2)) :- lessF(X1, X2).
pD(X1, X2, X3) :- lessA(X1, X2).
pE(X1, X2, X3) :- lessF(X1, X2).
pE(X1, X2, X3) :- ','(lesscF(X1, X2), insertB(X2, X3, void)).
pJ(X1, X2, X3) :- ','(lesscL(X1), insertK(X2, X3)).
insertK(tree(X1, X2, X3), tree(X1, X4, X3)) :- pJ(X1, X2, X4).
insertK(tree(X1, X2, X3), tree(X1, X2, X4)) :- pM(X1, X3, X4).
pM(X1, X2, X3) :- ','(lesscN(X1), insertK(X2, X3)).
lessO(s(X1), s(X2)) :- lessO(X1, X2).
pP(X1, s(X2), X3, X4) :- lessO(X1, X2).
pP(X1, X2, X3, X4) :- ','(lesscR(X1, X2), insertQ(X1, X3, X4)).
insertQ(X1, tree(X2, X3, X4), tree(X2, X5, X4)) :- pP(X1, X2, X3, X5).
insertQ(X1, tree(X2, X3, X4), tree(X2, X3, X5)) :- pS(X2, X1, X4, X5).
pS(X1, X2, X3, X4) :- lessO(X1, s(X2)).
pS(X1, X2, X3, X4) :- ','(lesscO(X1, s(X2)), insertQ(X2, X3, X4)).
insertG(tree(X1, X2, X3), tree(X1, X4, X3)) :- pJ(X1, X2, X4).
insertG(tree(X1, X2, X3), tree(X1, X2, X4)) :- pM(X1, X3, X4).
pH(X1, X2, X3, X4) :- lessA(X1, X2).
pH(X1, X2, tree(X3, X4, X5), tree(X3, X6, X5)) :- ','(lesscA(X1, X2), pP(X1, X3, X4, X6)).
pH(X1, X2, tree(X3, X4, X5), tree(X3, X4, X6)) :- ','(lesscA(X1, X2), pS(X3, X1, X5, X6)).
pI(X1, X2, X3, X4) :- lessF(X1, X2).
pI(X1, X2, X3, X4) :- ','(lesscF(X1, X2), insertB(X2, X3, X4)).
insertB(0, tree(s(X1), X2, void), tree(s(X1), void, void)) :- insertC(X2).
insertB(s(X1), tree(s(X2), X3, void), tree(s(X2), void, void)) :- pD(X1, X2, X3).
insertB(X1, tree(X2, void, X3), tree(X2, void, void)) :- pE(X2, X1, X3).
insertB(s(X1), tree(0, void, X2), tree(0, void, void)) :- insertB(s(X1), X2, void).
insertB(s(X1), tree(s(X2), void, X3), tree(s(X2), void, void)) :- lessF(X2, X1).
insertB(s(X1), tree(s(X2), void, X3), tree(s(X2), void, void)) :- ','(lesscF(X2, X1), insertB(s(X1), X3, void)).
insertB(0, tree(s(X1), X2, void), tree(s(X1), void, void)) :- insertC(X2).
insertB(s(X1), tree(s(X2), X3, void), tree(s(X2), void, void)) :- pD(X1, X2, X3).
insertB(X1, tree(X2, void, X3), tree(X2, void, void)) :- pE(X2, X1, X3).
insertB(s(X1), tree(0, void, X2), tree(0, void, void)) :- insertB(s(X1), X2, void).
insertB(s(X1), tree(s(X2), void, X3), tree(s(X2), void, void)) :- lessF(X2, X1).
insertB(s(X1), tree(s(X2), void, X3), tree(s(X2), void, void)) :- ','(lesscF(X2, X1), insertB(s(X1), X3, void)).
insertB(0, tree(s(X1), X2, X3), tree(s(X1), X4, X3)) :- insertG(X2, X4).
insertB(s(X1), tree(s(X2), X3, X4), tree(s(X2), X5, X4)) :- pH(X1, X2, X3, X5).
insertB(X1, tree(X2, X3, X4), tree(X2, X3, X5)) :- pI(X2, X1, X4, X5).
insertB(s(X1), tree(0, X2, X3), tree(0, X2, X4)) :- insertB(s(X1), X3, X4).
insertB(s(X1), tree(s(X2), X3, X4), tree(s(X2), X3, X5)) :- lessF(X2, X1).
insertB(s(X1), tree(s(X2), X3, X4), tree(s(X2), X3, X5)) :- ','(lesscF(X2, X1), insertB(s(X1), X4, X5)).
insertB(0, tree(s(X1), X2, X3), tree(s(X1), X4, X3)) :- insertG(X2, X4).
insertB(s(X1), tree(s(X2), X3, X4), tree(s(X2), X5, X4)) :- pH(X1, X2, X3, X5).
insertB(X1, tree(X2, X3, X4), tree(X2, X3, X5)) :- pI(X2, X1, X4, X5).
insertB(s(X1), tree(0, X2, X3), tree(0, X2, X4)) :- insertB(s(X1), X3, X4).
insertB(s(X1), tree(s(X2), X3, X4), tree(s(X2), X3, X5)) :- lessF(X2, X1).
insertB(s(X1), tree(s(X2), X3, X4), tree(s(X2), X3, X5)) :- ','(lesscF(X2, X1), insertB(s(X1), X4, X5)).

Clauses:

lesscA(0, s(X1)).
lesscA(s(X1), s(X2)) :- lesscA(X1, X2).
insertcB(X1, void, tree(X1, void, void)).
insertcB(X1, tree(X1, void, void), tree(X1, void, void)).
insertcB(0, tree(s(X1), X2, void), tree(s(X1), void, void)) :- insertcC(X2).
insertcB(s(X1), tree(s(X2), X3, void), tree(s(X2), void, void)) :- qcD(X1, X2, X3).
insertcB(X1, tree(X2, void, X3), tree(X2, void, void)) :- qcE(X2, X1, X3).
insertcB(s(X1), tree(0, void, X2), tree(0, void, void)) :- insertcB(s(X1), X2, void).
insertcB(s(X1), tree(s(X2), void, X3), tree(s(X2), void, void)) :- ','(lesscF(X2, X1), insertcB(s(X1), X3, void)).
insertcB(0, tree(s(X1), X2, void), tree(s(X1), void, void)) :- insertcC(X2).
insertcB(s(X1), tree(s(X2), X3, void), tree(s(X2), void, void)) :- qcD(X1, X2, X3).
insertcB(X1, tree(X2, void, X3), tree(X2, void, void)) :- qcE(X2, X1, X3).
insertcB(s(X1), tree(0, void, X2), tree(0, void, void)) :- insertcB(s(X1), X2, void).
insertcB(s(X1), tree(s(X2), void, X3), tree(s(X2), void, void)) :- ','(lesscF(X2, X1), insertcB(s(X1), X3, void)).
insertcB(X1, tree(X1, X2, X3), tree(X1, X2, X3)).
insertcB(0, tree(s(X1), X2, X3), tree(s(X1), X4, X3)) :- insertcG(X2, X4).
insertcB(s(X1), tree(s(X2), X3, X4), tree(s(X2), X5, X4)) :- qcH(X1, X2, X3, X5).
insertcB(X1, tree(X2, X3, X4), tree(X2, X3, X5)) :- qcI(X2, X1, X4, X5).
insertcB(s(X1), tree(0, X2, X3), tree(0, X2, X4)) :- insertcB(s(X1), X3, X4).
insertcB(s(X1), tree(s(X2), X3, X4), tree(s(X2), X3, X5)) :- ','(lesscF(X2, X1), insertcB(s(X1), X4, X5)).
insertcB(0, tree(s(X1), X2, X3), tree(s(X1), X4, X3)) :- insertcG(X2, X4).
insertcB(s(X1), tree(s(X2), X3, X4), tree(s(X2), X5, X4)) :- qcH(X1, X2, X3, X5).
insertcB(X1, tree(X2, X3, X4), tree(X2, X3, X5)) :- qcI(X2, X1, X4, X5).
insertcB(s(X1), tree(0, X2, X3), tree(0, X2, X4)) :- insertcB(s(X1), X3, X4).
insertcB(s(X1), tree(s(X2), X3, X4), tree(s(X2), X3, X5)) :- ','(lesscF(X2, X1), insertcB(s(X1), X4, X5)).
lesscF(0, s(X1)).
lesscF(s(X1), s(X2)) :- lesscF(X1, X2).
qcE(X1, X2, X3) :- ','(lesscF(X1, X2), insertcB(X2, X3, void)).
qcJ(X1, X2, X3) :- ','(lesscL(X1), insertcK(X2, X3)).
insertcK(void, tree(0, void, void)).
insertcK(tree(0, X1, X2), tree(0, X1, X2)).
insertcK(tree(X1, X2, X3), tree(X1, X4, X3)) :- qcJ(X1, X2, X4).
insertcK(tree(X1, X2, X3), tree(X1, X2, X4)) :- qcM(X1, X3, X4).
qcM(X1, X2, X3) :- ','(lesscN(X1), insertcK(X2, X3)).
lesscO(0, s(X1)).
lesscO(s(X1), s(X2)) :- lesscO(X1, X2).
qcP(X1, X2, X3, X4) :- ','(lesscR(X1, X2), insertcQ(X1, X3, X4)).
insertcQ(X1, void, tree(s(X1), void, void)).
insertcQ(X1, tree(s(X1), X2, X3), tree(s(X1), X2, X3)).
insertcQ(X1, tree(X2, X3, X4), tree(X2, X5, X4)) :- qcP(X1, X2, X3, X5).
insertcQ(X1, tree(X2, X3, X4), tree(X2, X3, X5)) :- qcS(X2, X1, X4, X5).
qcS(X1, X2, X3, X4) :- ','(lesscO(X1, s(X2)), insertcQ(X2, X3, X4)).
insertcG(void, tree(0, void, void)).
insertcG(tree(0, X1, X2), tree(0, X1, X2)).
insertcG(tree(X1, X2, X3), tree(X1, X4, X3)) :- qcJ(X1, X2, X4).
insertcG(tree(X1, X2, X3), tree(X1, X2, X4)) :- qcM(X1, X3, X4).
qcH(X1, X2, void, tree(s(X1), void, void)) :- lesscA(X1, X2).
qcH(X1, X2, tree(s(X1), X3, X4), tree(s(X1), X3, X4)) :- lesscA(X1, X2).
qcH(X1, X2, tree(X3, X4, X5), tree(X3, X6, X5)) :- ','(lesscA(X1, X2), qcP(X1, X3, X4, X6)).
qcH(X1, X2, tree(X3, X4, X5), tree(X3, X4, X6)) :- ','(lesscA(X1, X2), qcS(X3, X1, X5, X6)).
qcI(X1, X2, X3, X4) :- ','(lesscF(X1, X2), insertcB(X2, X3, X4)).
lesscL(s(X1)).
lesscR(X1, s(X2)) :- lesscO(X1, X2).

Afs:

insertB(x1, x2, x3)  =  insertB(x3)

(3) UndefinedPredicateInTriplesTransformerProof (SOUND transformation)

Deleted triples and predicates having undefined goals [DT09].

(4) Obligation:

Triples:

lessA(s(X1), s(X2)) :- lessA(X1, X2).
lessF(s(X1), s(X2)) :- lessF(X1, X2).
pD(X1, X2, X3) :- lessA(X1, X2).
pE(X1, X2, X3) :- lessF(X1, X2).
pE(X1, X2, X3) :- ','(lesscF(X1, X2), insertB(X2, X3, void)).
pJ(X1, X2, X3) :- ','(lesscL(X1), insertK(X2, X3)).
insertK(tree(X1, X2, X3), tree(X1, X4, X3)) :- pJ(X1, X2, X4).
lessO(s(X1), s(X2)) :- lessO(X1, X2).
pP(X1, s(X2), X3, X4) :- lessO(X1, X2).
pP(X1, X2, X3, X4) :- ','(lesscR(X1, X2), insertQ(X1, X3, X4)).
insertQ(X1, tree(X2, X3, X4), tree(X2, X5, X4)) :- pP(X1, X2, X3, X5).
insertQ(X1, tree(X2, X3, X4), tree(X2, X3, X5)) :- pS(X2, X1, X4, X5).
pS(X1, X2, X3, X4) :- lessO(X1, s(X2)).
pS(X1, X2, X3, X4) :- ','(lesscO(X1, s(X2)), insertQ(X2, X3, X4)).
insertG(tree(X1, X2, X3), tree(X1, X4, X3)) :- pJ(X1, X2, X4).
pH(X1, X2, X3, X4) :- lessA(X1, X2).
pH(X1, X2, tree(X3, X4, X5), tree(X3, X6, X5)) :- ','(lesscA(X1, X2), pP(X1, X3, X4, X6)).
pH(X1, X2, tree(X3, X4, X5), tree(X3, X4, X6)) :- ','(lesscA(X1, X2), pS(X3, X1, X5, X6)).
pI(X1, X2, X3, X4) :- lessF(X1, X2).
pI(X1, X2, X3, X4) :- ','(lesscF(X1, X2), insertB(X2, X3, X4)).
insertB(s(X1), tree(s(X2), X3, void), tree(s(X2), void, void)) :- pD(X1, X2, X3).
insertB(X1, tree(X2, void, X3), tree(X2, void, void)) :- pE(X2, X1, X3).
insertB(s(X1), tree(0, void, X2), tree(0, void, void)) :- insertB(s(X1), X2, void).
insertB(s(X1), tree(s(X2), void, X3), tree(s(X2), void, void)) :- lessF(X2, X1).
insertB(s(X1), tree(s(X2), void, X3), tree(s(X2), void, void)) :- ','(lesscF(X2, X1), insertB(s(X1), X3, void)).
insertB(s(X1), tree(s(X2), X3, void), tree(s(X2), void, void)) :- pD(X1, X2, X3).
insertB(X1, tree(X2, void, X3), tree(X2, void, void)) :- pE(X2, X1, X3).
insertB(s(X1), tree(0, void, X2), tree(0, void, void)) :- insertB(s(X1), X2, void).
insertB(s(X1), tree(s(X2), void, X3), tree(s(X2), void, void)) :- lessF(X2, X1).
insertB(s(X1), tree(s(X2), void, X3), tree(s(X2), void, void)) :- ','(lesscF(X2, X1), insertB(s(X1), X3, void)).
insertB(0, tree(s(X1), X2, X3), tree(s(X1), X4, X3)) :- insertG(X2, X4).
insertB(s(X1), tree(s(X2), X3, X4), tree(s(X2), X5, X4)) :- pH(X1, X2, X3, X5).
insertB(X1, tree(X2, X3, X4), tree(X2, X3, X5)) :- pI(X2, X1, X4, X5).
insertB(s(X1), tree(0, X2, X3), tree(0, X2, X4)) :- insertB(s(X1), X3, X4).
insertB(s(X1), tree(s(X2), X3, X4), tree(s(X2), X3, X5)) :- lessF(X2, X1).
insertB(s(X1), tree(s(X2), X3, X4), tree(s(X2), X3, X5)) :- ','(lesscF(X2, X1), insertB(s(X1), X4, X5)).
insertB(0, tree(s(X1), X2, X3), tree(s(X1), X4, X3)) :- insertG(X2, X4).
insertB(s(X1), tree(s(X2), X3, X4), tree(s(X2), X5, X4)) :- pH(X1, X2, X3, X5).
insertB(X1, tree(X2, X3, X4), tree(X2, X3, X5)) :- pI(X2, X1, X4, X5).
insertB(s(X1), tree(0, X2, X3), tree(0, X2, X4)) :- insertB(s(X1), X3, X4).
insertB(s(X1), tree(s(X2), X3, X4), tree(s(X2), X3, X5)) :- lessF(X2, X1).
insertB(s(X1), tree(s(X2), X3, X4), tree(s(X2), X3, X5)) :- ','(lesscF(X2, X1), insertB(s(X1), X4, X5)).

Clauses:

lesscA(0, s(X1)).
lesscA(s(X1), s(X2)) :- lesscA(X1, X2).
insertcB(X1, void, tree(X1, void, void)).
insertcB(X1, tree(X1, void, void), tree(X1, void, void)).
insertcB(X1, tree(X2, void, X3), tree(X2, void, void)) :- qcE(X2, X1, X3).
insertcB(s(X1), tree(0, void, X2), tree(0, void, void)) :- insertcB(s(X1), X2, void).
insertcB(s(X1), tree(s(X2), void, X3), tree(s(X2), void, void)) :- ','(lesscF(X2, X1), insertcB(s(X1), X3, void)).
insertcB(X1, tree(X2, void, X3), tree(X2, void, void)) :- qcE(X2, X1, X3).
insertcB(s(X1), tree(0, void, X2), tree(0, void, void)) :- insertcB(s(X1), X2, void).
insertcB(s(X1), tree(s(X2), void, X3), tree(s(X2), void, void)) :- ','(lesscF(X2, X1), insertcB(s(X1), X3, void)).
insertcB(X1, tree(X1, X2, X3), tree(X1, X2, X3)).
insertcB(0, tree(s(X1), X2, X3), tree(s(X1), X4, X3)) :- insertcG(X2, X4).
insertcB(s(X1), tree(s(X2), X3, X4), tree(s(X2), X5, X4)) :- qcH(X1, X2, X3, X5).
insertcB(X1, tree(X2, X3, X4), tree(X2, X3, X5)) :- qcI(X2, X1, X4, X5).
insertcB(s(X1), tree(0, X2, X3), tree(0, X2, X4)) :- insertcB(s(X1), X3, X4).
insertcB(s(X1), tree(s(X2), X3, X4), tree(s(X2), X3, X5)) :- ','(lesscF(X2, X1), insertcB(s(X1), X4, X5)).
insertcB(0, tree(s(X1), X2, X3), tree(s(X1), X4, X3)) :- insertcG(X2, X4).
insertcB(s(X1), tree(s(X2), X3, X4), tree(s(X2), X5, X4)) :- qcH(X1, X2, X3, X5).
insertcB(X1, tree(X2, X3, X4), tree(X2, X3, X5)) :- qcI(X2, X1, X4, X5).
insertcB(s(X1), tree(0, X2, X3), tree(0, X2, X4)) :- insertcB(s(X1), X3, X4).
insertcB(s(X1), tree(s(X2), X3, X4), tree(s(X2), X3, X5)) :- ','(lesscF(X2, X1), insertcB(s(X1), X4, X5)).
lesscF(0, s(X1)).
lesscF(s(X1), s(X2)) :- lesscF(X1, X2).
qcE(X1, X2, X3) :- ','(lesscF(X1, X2), insertcB(X2, X3, void)).
qcJ(X1, X2, X3) :- ','(lesscL(X1), insertcK(X2, X3)).
insertcK(void, tree(0, void, void)).
insertcK(tree(0, X1, X2), tree(0, X1, X2)).
insertcK(tree(X1, X2, X3), tree(X1, X4, X3)) :- qcJ(X1, X2, X4).
lesscO(0, s(X1)).
lesscO(s(X1), s(X2)) :- lesscO(X1, X2).
qcP(X1, X2, X3, X4) :- ','(lesscR(X1, X2), insertcQ(X1, X3, X4)).
insertcQ(X1, void, tree(s(X1), void, void)).
insertcQ(X1, tree(s(X1), X2, X3), tree(s(X1), X2, X3)).
insertcQ(X1, tree(X2, X3, X4), tree(X2, X5, X4)) :- qcP(X1, X2, X3, X5).
insertcQ(X1, tree(X2, X3, X4), tree(X2, X3, X5)) :- qcS(X2, X1, X4, X5).
qcS(X1, X2, X3, X4) :- ','(lesscO(X1, s(X2)), insertcQ(X2, X3, X4)).
insertcG(void, tree(0, void, void)).
insertcG(tree(0, X1, X2), tree(0, X1, X2)).
insertcG(tree(X1, X2, X3), tree(X1, X4, X3)) :- qcJ(X1, X2, X4).
qcH(X1, X2, void, tree(s(X1), void, void)) :- lesscA(X1, X2).
qcH(X1, X2, tree(s(X1), X3, X4), tree(s(X1), X3, X4)) :- lesscA(X1, X2).
qcH(X1, X2, tree(X3, X4, X5), tree(X3, X6, X5)) :- ','(lesscA(X1, X2), qcP(X1, X3, X4, X6)).
qcH(X1, X2, tree(X3, X4, X5), tree(X3, X4, X6)) :- ','(lesscA(X1, X2), qcS(X3, X1, X5, X6)).
qcI(X1, X2, X3, X4) :- ','(lesscF(X1, X2), insertcB(X2, X3, X4)).
lesscL(s(X1)).
lesscR(X1, s(X2)) :- lesscO(X1, X2).

Afs:

insertB(x1, x2, x3)  =  insertB(x3)

(5) TriplesToPiDPProof (SOUND transformation)

We use the technique of [DT09]. With regard to the inferred argument filtering the predicates were used in the following modes:
insertB_in: (f,f,b)
pD_in: (f,b,f)
lessA_in: (f,b)
pE_in: (b,f,f)
lessF_in: (b,f)
lesscF_in: (b,f)
insertG_in: (f,b)
pJ_in: (b,f,b)
insertK_in: (f,b)
pH_in: (f,b,f,b)
lesscA_in: (f,b)
pP_in: (b,b,f,b)
lessO_in: (b,b)
lesscR_in: (b,b)
lesscO_in: (b,b)
insertQ_in: (b,f,b)
pS_in: (b,b,f,b)
pI_in: (b,f,f,b)
Transforming TRIPLES into the following Term Rewriting System:
Pi DP problem:
The TRS P consists of the following rules:

INSERTB_IN_AAG(s(X1), tree(s(X2), X3, void), tree(s(X2), void, void)) → U28_AAG(X1, X2, X3, pD_in_aga(X1, X2, X3))
INSERTB_IN_AAG(s(X1), tree(s(X2), X3, void), tree(s(X2), void, void)) → PD_IN_AGA(X1, X2, X3)
PD_IN_AGA(X1, X2, X3) → U3_AGA(X1, X2, X3, lessA_in_ag(X1, X2))
PD_IN_AGA(X1, X2, X3) → LESSA_IN_AG(X1, X2)
LESSA_IN_AG(s(X1), s(X2)) → U1_AG(X1, X2, lessA_in_ag(X1, X2))
LESSA_IN_AG(s(X1), s(X2)) → LESSA_IN_AG(X1, X2)
INSERTB_IN_AAG(X1, tree(X2, void, X3), tree(X2, void, void)) → U29_AAG(X1, X2, X3, pE_in_gaa(X2, X1, X3))
INSERTB_IN_AAG(X1, tree(X2, void, X3), tree(X2, void, void)) → PE_IN_GAA(X2, X1, X3)
PE_IN_GAA(X1, X2, X3) → U4_GAA(X1, X2, X3, lessF_in_ga(X1, X2))
PE_IN_GAA(X1, X2, X3) → LESSF_IN_GA(X1, X2)
LESSF_IN_GA(s(X1), s(X2)) → U2_GA(X1, X2, lessF_in_ga(X1, X2))
LESSF_IN_GA(s(X1), s(X2)) → LESSF_IN_GA(X1, X2)
PE_IN_GAA(X1, X2, X3) → U5_GAA(X1, X2, X3, lesscF_in_ga(X1, X2))
U5_GAA(X1, X2, X3, lesscF_out_ga(X1, X2)) → U6_GAA(X1, X2, X3, insertB_in_aag(X2, X3, void))
U5_GAA(X1, X2, X3, lesscF_out_ga(X1, X2)) → INSERTB_IN_AAG(X2, X3, void)
INSERTB_IN_AAG(s(X1), tree(0, void, X2), tree(0, void, void)) → U30_AAG(X1, X2, insertB_in_aag(s(X1), X2, void))
INSERTB_IN_AAG(s(X1), tree(0, void, X2), tree(0, void, void)) → INSERTB_IN_AAG(s(X1), X2, void)
INSERTB_IN_AAG(s(X1), tree(s(X2), void, X3), tree(s(X2), void, void)) → U31_AAG(X1, X2, X3, lessF_in_ga(X2, X1))
INSERTB_IN_AAG(s(X1), tree(s(X2), void, X3), tree(s(X2), void, void)) → LESSF_IN_GA(X2, X1)
INSERTB_IN_AAG(s(X1), tree(s(X2), void, X3), tree(s(X2), void, void)) → U32_AAG(X1, X2, X3, lesscF_in_ga(X2, X1))
U32_AAG(X1, X2, X3, lesscF_out_ga(X2, X1)) → U33_AAG(X1, X2, X3, insertB_in_aag(s(X1), X3, void))
U32_AAG(X1, X2, X3, lesscF_out_ga(X2, X1)) → INSERTB_IN_AAG(s(X1), X3, void)
INSERTB_IN_AAG(0, tree(s(X1), X2, X3), tree(s(X1), X4, X3)) → U34_AAG(X1, X2, X3, X4, insertG_in_ag(X2, X4))
INSERTB_IN_AAG(0, tree(s(X1), X2, X3), tree(s(X1), X4, X3)) → INSERTG_IN_AG(X2, X4)
INSERTG_IN_AG(tree(X1, X2, X3), tree(X1, X4, X3)) → U19_AG(X1, X2, X3, X4, pJ_in_gag(X1, X2, X4))
INSERTG_IN_AG(tree(X1, X2, X3), tree(X1, X4, X3)) → PJ_IN_GAG(X1, X2, X4)
PJ_IN_GAG(X1, X2, X3) → U7_GAG(X1, X2, X3, lesscL_in_g(X1))
U7_GAG(X1, X2, X3, lesscL_out_g(X1)) → U8_GAG(X1, X2, X3, insertK_in_ag(X2, X3))
U7_GAG(X1, X2, X3, lesscL_out_g(X1)) → INSERTK_IN_AG(X2, X3)
INSERTK_IN_AG(tree(X1, X2, X3), tree(X1, X4, X3)) → U9_AG(X1, X2, X3, X4, pJ_in_gag(X1, X2, X4))
INSERTK_IN_AG(tree(X1, X2, X3), tree(X1, X4, X3)) → PJ_IN_GAG(X1, X2, X4)
INSERTB_IN_AAG(s(X1), tree(s(X2), X3, X4), tree(s(X2), X5, X4)) → U35_AAG(X1, X2, X3, X4, X5, pH_in_agag(X1, X2, X3, X5))
INSERTB_IN_AAG(s(X1), tree(s(X2), X3, X4), tree(s(X2), X5, X4)) → PH_IN_AGAG(X1, X2, X3, X5)
PH_IN_AGAG(X1, X2, X3, X4) → U20_AGAG(X1, X2, X3, X4, lessA_in_ag(X1, X2))
PH_IN_AGAG(X1, X2, X3, X4) → LESSA_IN_AG(X1, X2)
PH_IN_AGAG(X1, X2, tree(X3, X4, X5), tree(X3, X6, X5)) → U21_AGAG(X1, X2, X3, X4, X5, X6, lesscA_in_ag(X1, X2))
U21_AGAG(X1, X2, X3, X4, X5, X6, lesscA_out_ag(X1, X2)) → U22_AGAG(X1, X2, X3, X4, X5, X6, pP_in_ggag(X1, X3, X4, X6))
U21_AGAG(X1, X2, X3, X4, X5, X6, lesscA_out_ag(X1, X2)) → PP_IN_GGAG(X1, X3, X4, X6)
PP_IN_GGAG(X1, s(X2), X3, X4) → U11_GGAG(X1, X2, X3, X4, lessO_in_gg(X1, X2))
PP_IN_GGAG(X1, s(X2), X3, X4) → LESSO_IN_GG(X1, X2)
LESSO_IN_GG(s(X1), s(X2)) → U10_GG(X1, X2, lessO_in_gg(X1, X2))
LESSO_IN_GG(s(X1), s(X2)) → LESSO_IN_GG(X1, X2)
PP_IN_GGAG(X1, X2, X3, X4) → U12_GGAG(X1, X2, X3, X4, lesscR_in_gg(X1, X2))
U12_GGAG(X1, X2, X3, X4, lesscR_out_gg(X1, X2)) → U13_GGAG(X1, X2, X3, X4, insertQ_in_gag(X1, X3, X4))
U12_GGAG(X1, X2, X3, X4, lesscR_out_gg(X1, X2)) → INSERTQ_IN_GAG(X1, X3, X4)
INSERTQ_IN_GAG(X1, tree(X2, X3, X4), tree(X2, X5, X4)) → U14_GAG(X1, X2, X3, X4, X5, pP_in_ggag(X1, X2, X3, X5))
INSERTQ_IN_GAG(X1, tree(X2, X3, X4), tree(X2, X5, X4)) → PP_IN_GGAG(X1, X2, X3, X5)
INSERTQ_IN_GAG(X1, tree(X2, X3, X4), tree(X2, X3, X5)) → U15_GAG(X1, X2, X3, X4, X5, pS_in_ggag(X2, X1, X4, X5))
INSERTQ_IN_GAG(X1, tree(X2, X3, X4), tree(X2, X3, X5)) → PS_IN_GGAG(X2, X1, X4, X5)
PS_IN_GGAG(X1, X2, X3, X4) → U16_GGAG(X1, X2, X3, X4, lessO_in_gg(X1, s(X2)))
PS_IN_GGAG(X1, X2, X3, X4) → LESSO_IN_GG(X1, s(X2))
PS_IN_GGAG(X1, X2, X3, X4) → U17_GGAG(X1, X2, X3, X4, lesscO_in_gg(X1, s(X2)))
U17_GGAG(X1, X2, X3, X4, lesscO_out_gg(X1, s(X2))) → U18_GGAG(X1, X2, X3, X4, insertQ_in_gag(X2, X3, X4))
U17_GGAG(X1, X2, X3, X4, lesscO_out_gg(X1, s(X2))) → INSERTQ_IN_GAG(X2, X3, X4)
PH_IN_AGAG(X1, X2, tree(X3, X4, X5), tree(X3, X4, X6)) → U23_AGAG(X1, X2, X3, X4, X5, X6, lesscA_in_ag(X1, X2))
U23_AGAG(X1, X2, X3, X4, X5, X6, lesscA_out_ag(X1, X2)) → U24_AGAG(X1, X2, X3, X4, X5, X6, pS_in_ggag(X3, X1, X5, X6))
U23_AGAG(X1, X2, X3, X4, X5, X6, lesscA_out_ag(X1, X2)) → PS_IN_GGAG(X3, X1, X5, X6)
INSERTB_IN_AAG(X1, tree(X2, X3, X4), tree(X2, X3, X5)) → U36_AAG(X1, X2, X3, X4, X5, pI_in_gaag(X2, X1, X4, X5))
INSERTB_IN_AAG(X1, tree(X2, X3, X4), tree(X2, X3, X5)) → PI_IN_GAAG(X2, X1, X4, X5)
PI_IN_GAAG(X1, X2, X3, X4) → U25_GAAG(X1, X2, X3, X4, lessF_in_ga(X1, X2))
PI_IN_GAAG(X1, X2, X3, X4) → LESSF_IN_GA(X1, X2)
PI_IN_GAAG(X1, X2, X3, X4) → U26_GAAG(X1, X2, X3, X4, lesscF_in_ga(X1, X2))
U26_GAAG(X1, X2, X3, X4, lesscF_out_ga(X1, X2)) → U27_GAAG(X1, X2, X3, X4, insertB_in_aag(X2, X3, X4))
U26_GAAG(X1, X2, X3, X4, lesscF_out_ga(X1, X2)) → INSERTB_IN_AAG(X2, X3, X4)
INSERTB_IN_AAG(s(X1), tree(0, X2, X3), tree(0, X2, X4)) → U37_AAG(X1, X2, X3, X4, insertB_in_aag(s(X1), X3, X4))
INSERTB_IN_AAG(s(X1), tree(0, X2, X3), tree(0, X2, X4)) → INSERTB_IN_AAG(s(X1), X3, X4)
INSERTB_IN_AAG(s(X1), tree(s(X2), X3, X4), tree(s(X2), X3, X5)) → U38_AAG(X1, X2, X3, X4, X5, lessF_in_ga(X2, X1))
INSERTB_IN_AAG(s(X1), tree(s(X2), X3, X4), tree(s(X2), X3, X5)) → LESSF_IN_GA(X2, X1)
INSERTB_IN_AAG(s(X1), tree(s(X2), X3, X4), tree(s(X2), X3, X5)) → U39_AAG(X1, X2, X3, X4, X5, lesscF_in_ga(X2, X1))
U39_AAG(X1, X2, X3, X4, X5, lesscF_out_ga(X2, X1)) → U40_AAG(X1, X2, X3, X4, X5, insertB_in_aag(s(X1), X4, X5))
U39_AAG(X1, X2, X3, X4, X5, lesscF_out_ga(X2, X1)) → INSERTB_IN_AAG(s(X1), X4, X5)

The TRS R consists of the following rules:

lesscF_in_ga(0, s(X1)) → lesscF_out_ga(0, s(X1))
lesscF_in_ga(s(X1), s(X2)) → U53_ga(X1, X2, lesscF_in_ga(X1, X2))
U53_ga(X1, X2, lesscF_out_ga(X1, X2)) → lesscF_out_ga(s(X1), s(X2))
lesscL_in_g(s(X1)) → lesscL_out_g(s(X1))
lesscA_in_ag(0, s(X1)) → lesscA_out_ag(0, s(X1))
lesscA_in_ag(s(X1), s(X2)) → U42_ag(X1, X2, lesscA_in_ag(X1, X2))
U42_ag(X1, X2, lesscA_out_ag(X1, X2)) → lesscA_out_ag(s(X1), s(X2))
lesscR_in_gg(X1, s(X2)) → U75_gg(X1, X2, lesscO_in_gg(X1, X2))
lesscO_in_gg(0, s(X1)) → lesscO_out_gg(0, s(X1))
lesscO_in_gg(s(X1), s(X2)) → U59_gg(X1, X2, lesscO_in_gg(X1, X2))
U59_gg(X1, X2, lesscO_out_gg(X1, X2)) → lesscO_out_gg(s(X1), s(X2))
U75_gg(X1, X2, lesscO_out_gg(X1, X2)) → lesscR_out_gg(X1, s(X2))

The argument filtering Pi contains the following mapping:
insertB_in_aag(x1, x2, x3)  =  insertB_in_aag(x3)
tree(x1, x2, x3)  =  tree(x1, x2, x3)
s(x1)  =  s(x1)
void  =  void
pD_in_aga(x1, x2, x3)  =  pD_in_aga(x2)
lessA_in_ag(x1, x2)  =  lessA_in_ag(x2)
pE_in_gaa(x1, x2, x3)  =  pE_in_gaa(x1)
lessF_in_ga(x1, x2)  =  lessF_in_ga(x1)
lesscF_in_ga(x1, x2)  =  lesscF_in_ga(x1)
0  =  0
lesscF_out_ga(x1, x2)  =  lesscF_out_ga(x1)
U53_ga(x1, x2, x3)  =  U53_ga(x1, x3)
insertG_in_ag(x1, x2)  =  insertG_in_ag(x2)
pJ_in_gag(x1, x2, x3)  =  pJ_in_gag(x1, x3)
lesscL_in_g(x1)  =  lesscL_in_g(x1)
lesscL_out_g(x1)  =  lesscL_out_g(x1)
insertK_in_ag(x1, x2)  =  insertK_in_ag(x2)
pH_in_agag(x1, x2, x3, x4)  =  pH_in_agag(x2, x4)
lesscA_in_ag(x1, x2)  =  lesscA_in_ag(x2)
lesscA_out_ag(x1, x2)  =  lesscA_out_ag(x1, x2)
U42_ag(x1, x2, x3)  =  U42_ag(x2, x3)
pP_in_ggag(x1, x2, x3, x4)  =  pP_in_ggag(x1, x2, x4)
lessO_in_gg(x1, x2)  =  lessO_in_gg(x1, x2)
lesscR_in_gg(x1, x2)  =  lesscR_in_gg(x1, x2)
U75_gg(x1, x2, x3)  =  U75_gg(x1, x2, x3)
lesscO_in_gg(x1, x2)  =  lesscO_in_gg(x1, x2)
lesscO_out_gg(x1, x2)  =  lesscO_out_gg(x1, x2)
U59_gg(x1, x2, x3)  =  U59_gg(x1, x2, x3)
lesscR_out_gg(x1, x2)  =  lesscR_out_gg(x1, x2)
insertQ_in_gag(x1, x2, x3)  =  insertQ_in_gag(x1, x3)
pS_in_ggag(x1, x2, x3, x4)  =  pS_in_ggag(x1, x2, x4)
pI_in_gaag(x1, x2, x3, x4)  =  pI_in_gaag(x1, x4)
INSERTB_IN_AAG(x1, x2, x3)  =  INSERTB_IN_AAG(x3)
U28_AAG(x1, x2, x3, x4)  =  U28_AAG(x2, x4)
PD_IN_AGA(x1, x2, x3)  =  PD_IN_AGA(x2)
U3_AGA(x1, x2, x3, x4)  =  U3_AGA(x2, x4)
LESSA_IN_AG(x1, x2)  =  LESSA_IN_AG(x2)
U1_AG(x1, x2, x3)  =  U1_AG(x2, x3)
U29_AAG(x1, x2, x3, x4)  =  U29_AAG(x2, x4)
PE_IN_GAA(x1, x2, x3)  =  PE_IN_GAA(x1)
U4_GAA(x1, x2, x3, x4)  =  U4_GAA(x1, x4)
LESSF_IN_GA(x1, x2)  =  LESSF_IN_GA(x1)
U2_GA(x1, x2, x3)  =  U2_GA(x1, x3)
U5_GAA(x1, x2, x3, x4)  =  U5_GAA(x1, x4)
U6_GAA(x1, x2, x3, x4)  =  U6_GAA(x1, x4)
U30_AAG(x1, x2, x3)  =  U30_AAG(x3)
U31_AAG(x1, x2, x3, x4)  =  U31_AAG(x2, x4)
U32_AAG(x1, x2, x3, x4)  =  U32_AAG(x2, x4)
U33_AAG(x1, x2, x3, x4)  =  U33_AAG(x2, x4)
U34_AAG(x1, x2, x3, x4, x5)  =  U34_AAG(x1, x3, x4, x5)
INSERTG_IN_AG(x1, x2)  =  INSERTG_IN_AG(x2)
U19_AG(x1, x2, x3, x4, x5)  =  U19_AG(x1, x3, x4, x5)
PJ_IN_GAG(x1, x2, x3)  =  PJ_IN_GAG(x1, x3)
U7_GAG(x1, x2, x3, x4)  =  U7_GAG(x1, x3, x4)
U8_GAG(x1, x2, x3, x4)  =  U8_GAG(x1, x3, x4)
INSERTK_IN_AG(x1, x2)  =  INSERTK_IN_AG(x2)
U9_AG(x1, x2, x3, x4, x5)  =  U9_AG(x1, x3, x4, x5)
U35_AAG(x1, x2, x3, x4, x5, x6)  =  U35_AAG(x2, x4, x5, x6)
PH_IN_AGAG(x1, x2, x3, x4)  =  PH_IN_AGAG(x2, x4)
U20_AGAG(x1, x2, x3, x4, x5)  =  U20_AGAG(x2, x4, x5)
U21_AGAG(x1, x2, x3, x4, x5, x6, x7)  =  U21_AGAG(x2, x3, x5, x6, x7)
U22_AGAG(x1, x2, x3, x4, x5, x6, x7)  =  U22_AGAG(x1, x2, x3, x5, x6, x7)
PP_IN_GGAG(x1, x2, x3, x4)  =  PP_IN_GGAG(x1, x2, x4)
U11_GGAG(x1, x2, x3, x4, x5)  =  U11_GGAG(x1, x2, x4, x5)
LESSO_IN_GG(x1, x2)  =  LESSO_IN_GG(x1, x2)
U10_GG(x1, x2, x3)  =  U10_GG(x1, x2, x3)
U12_GGAG(x1, x2, x3, x4, x5)  =  U12_GGAG(x1, x2, x4, x5)
U13_GGAG(x1, x2, x3, x4, x5)  =  U13_GGAG(x1, x2, x4, x5)
INSERTQ_IN_GAG(x1, x2, x3)  =  INSERTQ_IN_GAG(x1, x3)
U14_GAG(x1, x2, x3, x4, x5, x6)  =  U14_GAG(x1, x2, x4, x5, x6)
U15_GAG(x1, x2, x3, x4, x5, x6)  =  U15_GAG(x1, x2, x3, x5, x6)
PS_IN_GGAG(x1, x2, x3, x4)  =  PS_IN_GGAG(x1, x2, x4)
U16_GGAG(x1, x2, x3, x4, x5)  =  U16_GGAG(x1, x2, x4, x5)
U17_GGAG(x1, x2, x3, x4, x5)  =  U17_GGAG(x1, x2, x4, x5)
U18_GGAG(x1, x2, x3, x4, x5)  =  U18_GGAG(x1, x2, x4, x5)
U23_AGAG(x1, x2, x3, x4, x5, x6, x7)  =  U23_AGAG(x2, x3, x4, x6, x7)
U24_AGAG(x1, x2, x3, x4, x5, x6, x7)  =  U24_AGAG(x1, x2, x3, x4, x6, x7)
U36_AAG(x1, x2, x3, x4, x5, x6)  =  U36_AAG(x2, x3, x5, x6)
PI_IN_GAAG(x1, x2, x3, x4)  =  PI_IN_GAAG(x1, x4)
U25_GAAG(x1, x2, x3, x4, x5)  =  U25_GAAG(x1, x4, x5)
U26_GAAG(x1, x2, x3, x4, x5)  =  U26_GAAG(x1, x4, x5)
U27_GAAG(x1, x2, x3, x4, x5)  =  U27_GAAG(x1, x4, x5)
U37_AAG(x1, x2, x3, x4, x5)  =  U37_AAG(x2, x4, x5)
U38_AAG(x1, x2, x3, x4, x5, x6)  =  U38_AAG(x2, x3, x5, x6)
U39_AAG(x1, x2, x3, x4, x5, x6)  =  U39_AAG(x2, x3, x5, x6)
U40_AAG(x1, x2, x3, x4, x5, x6)  =  U40_AAG(x2, x3, x5, x6)

We have to consider all (P,R,Pi)-chains

Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES

(6) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

INSERTB_IN_AAG(s(X1), tree(s(X2), X3, void), tree(s(X2), void, void)) → U28_AAG(X1, X2, X3, pD_in_aga(X1, X2, X3))
INSERTB_IN_AAG(s(X1), tree(s(X2), X3, void), tree(s(X2), void, void)) → PD_IN_AGA(X1, X2, X3)
PD_IN_AGA(X1, X2, X3) → U3_AGA(X1, X2, X3, lessA_in_ag(X1, X2))
PD_IN_AGA(X1, X2, X3) → LESSA_IN_AG(X1, X2)
LESSA_IN_AG(s(X1), s(X2)) → U1_AG(X1, X2, lessA_in_ag(X1, X2))
LESSA_IN_AG(s(X1), s(X2)) → LESSA_IN_AG(X1, X2)
INSERTB_IN_AAG(X1, tree(X2, void, X3), tree(X2, void, void)) → U29_AAG(X1, X2, X3, pE_in_gaa(X2, X1, X3))
INSERTB_IN_AAG(X1, tree(X2, void, X3), tree(X2, void, void)) → PE_IN_GAA(X2, X1, X3)
PE_IN_GAA(X1, X2, X3) → U4_GAA(X1, X2, X3, lessF_in_ga(X1, X2))
PE_IN_GAA(X1, X2, X3) → LESSF_IN_GA(X1, X2)
LESSF_IN_GA(s(X1), s(X2)) → U2_GA(X1, X2, lessF_in_ga(X1, X2))
LESSF_IN_GA(s(X1), s(X2)) → LESSF_IN_GA(X1, X2)
PE_IN_GAA(X1, X2, X3) → U5_GAA(X1, X2, X3, lesscF_in_ga(X1, X2))
U5_GAA(X1, X2, X3, lesscF_out_ga(X1, X2)) → U6_GAA(X1, X2, X3, insertB_in_aag(X2, X3, void))
U5_GAA(X1, X2, X3, lesscF_out_ga(X1, X2)) → INSERTB_IN_AAG(X2, X3, void)
INSERTB_IN_AAG(s(X1), tree(0, void, X2), tree(0, void, void)) → U30_AAG(X1, X2, insertB_in_aag(s(X1), X2, void))
INSERTB_IN_AAG(s(X1), tree(0, void, X2), tree(0, void, void)) → INSERTB_IN_AAG(s(X1), X2, void)
INSERTB_IN_AAG(s(X1), tree(s(X2), void, X3), tree(s(X2), void, void)) → U31_AAG(X1, X2, X3, lessF_in_ga(X2, X1))
INSERTB_IN_AAG(s(X1), tree(s(X2), void, X3), tree(s(X2), void, void)) → LESSF_IN_GA(X2, X1)
INSERTB_IN_AAG(s(X1), tree(s(X2), void, X3), tree(s(X2), void, void)) → U32_AAG(X1, X2, X3, lesscF_in_ga(X2, X1))
U32_AAG(X1, X2, X3, lesscF_out_ga(X2, X1)) → U33_AAG(X1, X2, X3, insertB_in_aag(s(X1), X3, void))
U32_AAG(X1, X2, X3, lesscF_out_ga(X2, X1)) → INSERTB_IN_AAG(s(X1), X3, void)
INSERTB_IN_AAG(0, tree(s(X1), X2, X3), tree(s(X1), X4, X3)) → U34_AAG(X1, X2, X3, X4, insertG_in_ag(X2, X4))
INSERTB_IN_AAG(0, tree(s(X1), X2, X3), tree(s(X1), X4, X3)) → INSERTG_IN_AG(X2, X4)
INSERTG_IN_AG(tree(X1, X2, X3), tree(X1, X4, X3)) → U19_AG(X1, X2, X3, X4, pJ_in_gag(X1, X2, X4))
INSERTG_IN_AG(tree(X1, X2, X3), tree(X1, X4, X3)) → PJ_IN_GAG(X1, X2, X4)
PJ_IN_GAG(X1, X2, X3) → U7_GAG(X1, X2, X3, lesscL_in_g(X1))
U7_GAG(X1, X2, X3, lesscL_out_g(X1)) → U8_GAG(X1, X2, X3, insertK_in_ag(X2, X3))
U7_GAG(X1, X2, X3, lesscL_out_g(X1)) → INSERTK_IN_AG(X2, X3)
INSERTK_IN_AG(tree(X1, X2, X3), tree(X1, X4, X3)) → U9_AG(X1, X2, X3, X4, pJ_in_gag(X1, X2, X4))
INSERTK_IN_AG(tree(X1, X2, X3), tree(X1, X4, X3)) → PJ_IN_GAG(X1, X2, X4)
INSERTB_IN_AAG(s(X1), tree(s(X2), X3, X4), tree(s(X2), X5, X4)) → U35_AAG(X1, X2, X3, X4, X5, pH_in_agag(X1, X2, X3, X5))
INSERTB_IN_AAG(s(X1), tree(s(X2), X3, X4), tree(s(X2), X5, X4)) → PH_IN_AGAG(X1, X2, X3, X5)
PH_IN_AGAG(X1, X2, X3, X4) → U20_AGAG(X1, X2, X3, X4, lessA_in_ag(X1, X2))
PH_IN_AGAG(X1, X2, X3, X4) → LESSA_IN_AG(X1, X2)
PH_IN_AGAG(X1, X2, tree(X3, X4, X5), tree(X3, X6, X5)) → U21_AGAG(X1, X2, X3, X4, X5, X6, lesscA_in_ag(X1, X2))
U21_AGAG(X1, X2, X3, X4, X5, X6, lesscA_out_ag(X1, X2)) → U22_AGAG(X1, X2, X3, X4, X5, X6, pP_in_ggag(X1, X3, X4, X6))
U21_AGAG(X1, X2, X3, X4, X5, X6, lesscA_out_ag(X1, X2)) → PP_IN_GGAG(X1, X3, X4, X6)
PP_IN_GGAG(X1, s(X2), X3, X4) → U11_GGAG(X1, X2, X3, X4, lessO_in_gg(X1, X2))
PP_IN_GGAG(X1, s(X2), X3, X4) → LESSO_IN_GG(X1, X2)
LESSO_IN_GG(s(X1), s(X2)) → U10_GG(X1, X2, lessO_in_gg(X1, X2))
LESSO_IN_GG(s(X1), s(X2)) → LESSO_IN_GG(X1, X2)
PP_IN_GGAG(X1, X2, X3, X4) → U12_GGAG(X1, X2, X3, X4, lesscR_in_gg(X1, X2))
U12_GGAG(X1, X2, X3, X4, lesscR_out_gg(X1, X2)) → U13_GGAG(X1, X2, X3, X4, insertQ_in_gag(X1, X3, X4))
U12_GGAG(X1, X2, X3, X4, lesscR_out_gg(X1, X2)) → INSERTQ_IN_GAG(X1, X3, X4)
INSERTQ_IN_GAG(X1, tree(X2, X3, X4), tree(X2, X5, X4)) → U14_GAG(X1, X2, X3, X4, X5, pP_in_ggag(X1, X2, X3, X5))
INSERTQ_IN_GAG(X1, tree(X2, X3, X4), tree(X2, X5, X4)) → PP_IN_GGAG(X1, X2, X3, X5)
INSERTQ_IN_GAG(X1, tree(X2, X3, X4), tree(X2, X3, X5)) → U15_GAG(X1, X2, X3, X4, X5, pS_in_ggag(X2, X1, X4, X5))
INSERTQ_IN_GAG(X1, tree(X2, X3, X4), tree(X2, X3, X5)) → PS_IN_GGAG(X2, X1, X4, X5)
PS_IN_GGAG(X1, X2, X3, X4) → U16_GGAG(X1, X2, X3, X4, lessO_in_gg(X1, s(X2)))
PS_IN_GGAG(X1, X2, X3, X4) → LESSO_IN_GG(X1, s(X2))
PS_IN_GGAG(X1, X2, X3, X4) → U17_GGAG(X1, X2, X3, X4, lesscO_in_gg(X1, s(X2)))
U17_GGAG(X1, X2, X3, X4, lesscO_out_gg(X1, s(X2))) → U18_GGAG(X1, X2, X3, X4, insertQ_in_gag(X2, X3, X4))
U17_GGAG(X1, X2, X3, X4, lesscO_out_gg(X1, s(X2))) → INSERTQ_IN_GAG(X2, X3, X4)
PH_IN_AGAG(X1, X2, tree(X3, X4, X5), tree(X3, X4, X6)) → U23_AGAG(X1, X2, X3, X4, X5, X6, lesscA_in_ag(X1, X2))
U23_AGAG(X1, X2, X3, X4, X5, X6, lesscA_out_ag(X1, X2)) → U24_AGAG(X1, X2, X3, X4, X5, X6, pS_in_ggag(X3, X1, X5, X6))
U23_AGAG(X1, X2, X3, X4, X5, X6, lesscA_out_ag(X1, X2)) → PS_IN_GGAG(X3, X1, X5, X6)
INSERTB_IN_AAG(X1, tree(X2, X3, X4), tree(X2, X3, X5)) → U36_AAG(X1, X2, X3, X4, X5, pI_in_gaag(X2, X1, X4, X5))
INSERTB_IN_AAG(X1, tree(X2, X3, X4), tree(X2, X3, X5)) → PI_IN_GAAG(X2, X1, X4, X5)
PI_IN_GAAG(X1, X2, X3, X4) → U25_GAAG(X1, X2, X3, X4, lessF_in_ga(X1, X2))
PI_IN_GAAG(X1, X2, X3, X4) → LESSF_IN_GA(X1, X2)
PI_IN_GAAG(X1, X2, X3, X4) → U26_GAAG(X1, X2, X3, X4, lesscF_in_ga(X1, X2))
U26_GAAG(X1, X2, X3, X4, lesscF_out_ga(X1, X2)) → U27_GAAG(X1, X2, X3, X4, insertB_in_aag(X2, X3, X4))
U26_GAAG(X1, X2, X3, X4, lesscF_out_ga(X1, X2)) → INSERTB_IN_AAG(X2, X3, X4)
INSERTB_IN_AAG(s(X1), tree(0, X2, X3), tree(0, X2, X4)) → U37_AAG(X1, X2, X3, X4, insertB_in_aag(s(X1), X3, X4))
INSERTB_IN_AAG(s(X1), tree(0, X2, X3), tree(0, X2, X4)) → INSERTB_IN_AAG(s(X1), X3, X4)
INSERTB_IN_AAG(s(X1), tree(s(X2), X3, X4), tree(s(X2), X3, X5)) → U38_AAG(X1, X2, X3, X4, X5, lessF_in_ga(X2, X1))
INSERTB_IN_AAG(s(X1), tree(s(X2), X3, X4), tree(s(X2), X3, X5)) → LESSF_IN_GA(X2, X1)
INSERTB_IN_AAG(s(X1), tree(s(X2), X3, X4), tree(s(X2), X3, X5)) → U39_AAG(X1, X2, X3, X4, X5, lesscF_in_ga(X2, X1))
U39_AAG(X1, X2, X3, X4, X5, lesscF_out_ga(X2, X1)) → U40_AAG(X1, X2, X3, X4, X5, insertB_in_aag(s(X1), X4, X5))
U39_AAG(X1, X2, X3, X4, X5, lesscF_out_ga(X2, X1)) → INSERTB_IN_AAG(s(X1), X4, X5)

The TRS R consists of the following rules:

lesscF_in_ga(0, s(X1)) → lesscF_out_ga(0, s(X1))
lesscF_in_ga(s(X1), s(X2)) → U53_ga(X1, X2, lesscF_in_ga(X1, X2))
U53_ga(X1, X2, lesscF_out_ga(X1, X2)) → lesscF_out_ga(s(X1), s(X2))
lesscL_in_g(s(X1)) → lesscL_out_g(s(X1))
lesscA_in_ag(0, s(X1)) → lesscA_out_ag(0, s(X1))
lesscA_in_ag(s(X1), s(X2)) → U42_ag(X1, X2, lesscA_in_ag(X1, X2))
U42_ag(X1, X2, lesscA_out_ag(X1, X2)) → lesscA_out_ag(s(X1), s(X2))
lesscR_in_gg(X1, s(X2)) → U75_gg(X1, X2, lesscO_in_gg(X1, X2))
lesscO_in_gg(0, s(X1)) → lesscO_out_gg(0, s(X1))
lesscO_in_gg(s(X1), s(X2)) → U59_gg(X1, X2, lesscO_in_gg(X1, X2))
U59_gg(X1, X2, lesscO_out_gg(X1, X2)) → lesscO_out_gg(s(X1), s(X2))
U75_gg(X1, X2, lesscO_out_gg(X1, X2)) → lesscR_out_gg(X1, s(X2))

The argument filtering Pi contains the following mapping:
insertB_in_aag(x1, x2, x3)  =  insertB_in_aag(x3)
tree(x1, x2, x3)  =  tree(x1, x2, x3)
s(x1)  =  s(x1)
void  =  void
pD_in_aga(x1, x2, x3)  =  pD_in_aga(x2)
lessA_in_ag(x1, x2)  =  lessA_in_ag(x2)
pE_in_gaa(x1, x2, x3)  =  pE_in_gaa(x1)
lessF_in_ga(x1, x2)  =  lessF_in_ga(x1)
lesscF_in_ga(x1, x2)  =  lesscF_in_ga(x1)
0  =  0
lesscF_out_ga(x1, x2)  =  lesscF_out_ga(x1)
U53_ga(x1, x2, x3)  =  U53_ga(x1, x3)
insertG_in_ag(x1, x2)  =  insertG_in_ag(x2)
pJ_in_gag(x1, x2, x3)  =  pJ_in_gag(x1, x3)
lesscL_in_g(x1)  =  lesscL_in_g(x1)
lesscL_out_g(x1)  =  lesscL_out_g(x1)
insertK_in_ag(x1, x2)  =  insertK_in_ag(x2)
pH_in_agag(x1, x2, x3, x4)  =  pH_in_agag(x2, x4)
lesscA_in_ag(x1, x2)  =  lesscA_in_ag(x2)
lesscA_out_ag(x1, x2)  =  lesscA_out_ag(x1, x2)
U42_ag(x1, x2, x3)  =  U42_ag(x2, x3)
pP_in_ggag(x1, x2, x3, x4)  =  pP_in_ggag(x1, x2, x4)
lessO_in_gg(x1, x2)  =  lessO_in_gg(x1, x2)
lesscR_in_gg(x1, x2)  =  lesscR_in_gg(x1, x2)
U75_gg(x1, x2, x3)  =  U75_gg(x1, x2, x3)
lesscO_in_gg(x1, x2)  =  lesscO_in_gg(x1, x2)
lesscO_out_gg(x1, x2)  =  lesscO_out_gg(x1, x2)
U59_gg(x1, x2, x3)  =  U59_gg(x1, x2, x3)
lesscR_out_gg(x1, x2)  =  lesscR_out_gg(x1, x2)
insertQ_in_gag(x1, x2, x3)  =  insertQ_in_gag(x1, x3)
pS_in_ggag(x1, x2, x3, x4)  =  pS_in_ggag(x1, x2, x4)
pI_in_gaag(x1, x2, x3, x4)  =  pI_in_gaag(x1, x4)
INSERTB_IN_AAG(x1, x2, x3)  =  INSERTB_IN_AAG(x3)
U28_AAG(x1, x2, x3, x4)  =  U28_AAG(x2, x4)
PD_IN_AGA(x1, x2, x3)  =  PD_IN_AGA(x2)
U3_AGA(x1, x2, x3, x4)  =  U3_AGA(x2, x4)
LESSA_IN_AG(x1, x2)  =  LESSA_IN_AG(x2)
U1_AG(x1, x2, x3)  =  U1_AG(x2, x3)
U29_AAG(x1, x2, x3, x4)  =  U29_AAG(x2, x4)
PE_IN_GAA(x1, x2, x3)  =  PE_IN_GAA(x1)
U4_GAA(x1, x2, x3, x4)  =  U4_GAA(x1, x4)
LESSF_IN_GA(x1, x2)  =  LESSF_IN_GA(x1)
U2_GA(x1, x2, x3)  =  U2_GA(x1, x3)
U5_GAA(x1, x2, x3, x4)  =  U5_GAA(x1, x4)
U6_GAA(x1, x2, x3, x4)  =  U6_GAA(x1, x4)
U30_AAG(x1, x2, x3)  =  U30_AAG(x3)
U31_AAG(x1, x2, x3, x4)  =  U31_AAG(x2, x4)
U32_AAG(x1, x2, x3, x4)  =  U32_AAG(x2, x4)
U33_AAG(x1, x2, x3, x4)  =  U33_AAG(x2, x4)
U34_AAG(x1, x2, x3, x4, x5)  =  U34_AAG(x1, x3, x4, x5)
INSERTG_IN_AG(x1, x2)  =  INSERTG_IN_AG(x2)
U19_AG(x1, x2, x3, x4, x5)  =  U19_AG(x1, x3, x4, x5)
PJ_IN_GAG(x1, x2, x3)  =  PJ_IN_GAG(x1, x3)
U7_GAG(x1, x2, x3, x4)  =  U7_GAG(x1, x3, x4)
U8_GAG(x1, x2, x3, x4)  =  U8_GAG(x1, x3, x4)
INSERTK_IN_AG(x1, x2)  =  INSERTK_IN_AG(x2)
U9_AG(x1, x2, x3, x4, x5)  =  U9_AG(x1, x3, x4, x5)
U35_AAG(x1, x2, x3, x4, x5, x6)  =  U35_AAG(x2, x4, x5, x6)
PH_IN_AGAG(x1, x2, x3, x4)  =  PH_IN_AGAG(x2, x4)
U20_AGAG(x1, x2, x3, x4, x5)  =  U20_AGAG(x2, x4, x5)
U21_AGAG(x1, x2, x3, x4, x5, x6, x7)  =  U21_AGAG(x2, x3, x5, x6, x7)
U22_AGAG(x1, x2, x3, x4, x5, x6, x7)  =  U22_AGAG(x1, x2, x3, x5, x6, x7)
PP_IN_GGAG(x1, x2, x3, x4)  =  PP_IN_GGAG(x1, x2, x4)
U11_GGAG(x1, x2, x3, x4, x5)  =  U11_GGAG(x1, x2, x4, x5)
LESSO_IN_GG(x1, x2)  =  LESSO_IN_GG(x1, x2)
U10_GG(x1, x2, x3)  =  U10_GG(x1, x2, x3)
U12_GGAG(x1, x2, x3, x4, x5)  =  U12_GGAG(x1, x2, x4, x5)
U13_GGAG(x1, x2, x3, x4, x5)  =  U13_GGAG(x1, x2, x4, x5)
INSERTQ_IN_GAG(x1, x2, x3)  =  INSERTQ_IN_GAG(x1, x3)
U14_GAG(x1, x2, x3, x4, x5, x6)  =  U14_GAG(x1, x2, x4, x5, x6)
U15_GAG(x1, x2, x3, x4, x5, x6)  =  U15_GAG(x1, x2, x3, x5, x6)
PS_IN_GGAG(x1, x2, x3, x4)  =  PS_IN_GGAG(x1, x2, x4)
U16_GGAG(x1, x2, x3, x4, x5)  =  U16_GGAG(x1, x2, x4, x5)
U17_GGAG(x1, x2, x3, x4, x5)  =  U17_GGAG(x1, x2, x4, x5)
U18_GGAG(x1, x2, x3, x4, x5)  =  U18_GGAG(x1, x2, x4, x5)
U23_AGAG(x1, x2, x3, x4, x5, x6, x7)  =  U23_AGAG(x2, x3, x4, x6, x7)
U24_AGAG(x1, x2, x3, x4, x5, x6, x7)  =  U24_AGAG(x1, x2, x3, x4, x6, x7)
U36_AAG(x1, x2, x3, x4, x5, x6)  =  U36_AAG(x2, x3, x5, x6)
PI_IN_GAAG(x1, x2, x3, x4)  =  PI_IN_GAAG(x1, x4)
U25_GAAG(x1, x2, x3, x4, x5)  =  U25_GAAG(x1, x4, x5)
U26_GAAG(x1, x2, x3, x4, x5)  =  U26_GAAG(x1, x4, x5)
U27_GAAG(x1, x2, x3, x4, x5)  =  U27_GAAG(x1, x4, x5)
U37_AAG(x1, x2, x3, x4, x5)  =  U37_AAG(x2, x4, x5)
U38_AAG(x1, x2, x3, x4, x5, x6)  =  U38_AAG(x2, x3, x5, x6)
U39_AAG(x1, x2, x3, x4, x5, x6)  =  U39_AAG(x2, x3, x5, x6)
U40_AAG(x1, x2, x3, x4, x5, x6)  =  U40_AAG(x2, x3, x5, x6)

We have to consider all (P,R,Pi)-chains

(7) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 6 SCCs with 53 less nodes.

(8) Complex Obligation (AND)

(9) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

LESSO_IN_GG(s(X1), s(X2)) → LESSO_IN_GG(X1, X2)

The TRS R consists of the following rules:

lesscF_in_ga(0, s(X1)) → lesscF_out_ga(0, s(X1))
lesscF_in_ga(s(X1), s(X2)) → U53_ga(X1, X2, lesscF_in_ga(X1, X2))
U53_ga(X1, X2, lesscF_out_ga(X1, X2)) → lesscF_out_ga(s(X1), s(X2))
lesscL_in_g(s(X1)) → lesscL_out_g(s(X1))
lesscA_in_ag(0, s(X1)) → lesscA_out_ag(0, s(X1))
lesscA_in_ag(s(X1), s(X2)) → U42_ag(X1, X2, lesscA_in_ag(X1, X2))
U42_ag(X1, X2, lesscA_out_ag(X1, X2)) → lesscA_out_ag(s(X1), s(X2))
lesscR_in_gg(X1, s(X2)) → U75_gg(X1, X2, lesscO_in_gg(X1, X2))
lesscO_in_gg(0, s(X1)) → lesscO_out_gg(0, s(X1))
lesscO_in_gg(s(X1), s(X2)) → U59_gg(X1, X2, lesscO_in_gg(X1, X2))
U59_gg(X1, X2, lesscO_out_gg(X1, X2)) → lesscO_out_gg(s(X1), s(X2))
U75_gg(X1, X2, lesscO_out_gg(X1, X2)) → lesscR_out_gg(X1, s(X2))

The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
lesscF_in_ga(x1, x2)  =  lesscF_in_ga(x1)
0  =  0
lesscF_out_ga(x1, x2)  =  lesscF_out_ga(x1)
U53_ga(x1, x2, x3)  =  U53_ga(x1, x3)
lesscL_in_g(x1)  =  lesscL_in_g(x1)
lesscL_out_g(x1)  =  lesscL_out_g(x1)
lesscA_in_ag(x1, x2)  =  lesscA_in_ag(x2)
lesscA_out_ag(x1, x2)  =  lesscA_out_ag(x1, x2)
U42_ag(x1, x2, x3)  =  U42_ag(x2, x3)
lesscR_in_gg(x1, x2)  =  lesscR_in_gg(x1, x2)
U75_gg(x1, x2, x3)  =  U75_gg(x1, x2, x3)
lesscO_in_gg(x1, x2)  =  lesscO_in_gg(x1, x2)
lesscO_out_gg(x1, x2)  =  lesscO_out_gg(x1, x2)
U59_gg(x1, x2, x3)  =  U59_gg(x1, x2, x3)
lesscR_out_gg(x1, x2)  =  lesscR_out_gg(x1, x2)
LESSO_IN_GG(x1, x2)  =  LESSO_IN_GG(x1, x2)

We have to consider all (P,R,Pi)-chains

(10) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(11) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

LESSO_IN_GG(s(X1), s(X2)) → LESSO_IN_GG(X1, X2)

R is empty.
Pi is empty.
We have to consider all (P,R,Pi)-chains

(12) PiDPToQDPProof (EQUIVALENT transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(13) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LESSO_IN_GG(s(X1), s(X2)) → LESSO_IN_GG(X1, X2)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(14) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • LESSO_IN_GG(s(X1), s(X2)) → LESSO_IN_GG(X1, X2)
    The graph contains the following edges 1 > 1, 2 > 2

(15) YES

(16) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

PP_IN_GGAG(X1, X2, X3, X4) → U12_GGAG(X1, X2, X3, X4, lesscR_in_gg(X1, X2))
U12_GGAG(X1, X2, X3, X4, lesscR_out_gg(X1, X2)) → INSERTQ_IN_GAG(X1, X3, X4)
INSERTQ_IN_GAG(X1, tree(X2, X3, X4), tree(X2, X5, X4)) → PP_IN_GGAG(X1, X2, X3, X5)
INSERTQ_IN_GAG(X1, tree(X2, X3, X4), tree(X2, X3, X5)) → PS_IN_GGAG(X2, X1, X4, X5)
PS_IN_GGAG(X1, X2, X3, X4) → U17_GGAG(X1, X2, X3, X4, lesscO_in_gg(X1, s(X2)))
U17_GGAG(X1, X2, X3, X4, lesscO_out_gg(X1, s(X2))) → INSERTQ_IN_GAG(X2, X3, X4)

The TRS R consists of the following rules:

lesscF_in_ga(0, s(X1)) → lesscF_out_ga(0, s(X1))
lesscF_in_ga(s(X1), s(X2)) → U53_ga(X1, X2, lesscF_in_ga(X1, X2))
U53_ga(X1, X2, lesscF_out_ga(X1, X2)) → lesscF_out_ga(s(X1), s(X2))
lesscL_in_g(s(X1)) → lesscL_out_g(s(X1))
lesscA_in_ag(0, s(X1)) → lesscA_out_ag(0, s(X1))
lesscA_in_ag(s(X1), s(X2)) → U42_ag(X1, X2, lesscA_in_ag(X1, X2))
U42_ag(X1, X2, lesscA_out_ag(X1, X2)) → lesscA_out_ag(s(X1), s(X2))
lesscR_in_gg(X1, s(X2)) → U75_gg(X1, X2, lesscO_in_gg(X1, X2))
lesscO_in_gg(0, s(X1)) → lesscO_out_gg(0, s(X1))
lesscO_in_gg(s(X1), s(X2)) → U59_gg(X1, X2, lesscO_in_gg(X1, X2))
U59_gg(X1, X2, lesscO_out_gg(X1, X2)) → lesscO_out_gg(s(X1), s(X2))
U75_gg(X1, X2, lesscO_out_gg(X1, X2)) → lesscR_out_gg(X1, s(X2))

The argument filtering Pi contains the following mapping:
tree(x1, x2, x3)  =  tree(x1, x2, x3)
s(x1)  =  s(x1)
lesscF_in_ga(x1, x2)  =  lesscF_in_ga(x1)
0  =  0
lesscF_out_ga(x1, x2)  =  lesscF_out_ga(x1)
U53_ga(x1, x2, x3)  =  U53_ga(x1, x3)
lesscL_in_g(x1)  =  lesscL_in_g(x1)
lesscL_out_g(x1)  =  lesscL_out_g(x1)
lesscA_in_ag(x1, x2)  =  lesscA_in_ag(x2)
lesscA_out_ag(x1, x2)  =  lesscA_out_ag(x1, x2)
U42_ag(x1, x2, x3)  =  U42_ag(x2, x3)
lesscR_in_gg(x1, x2)  =  lesscR_in_gg(x1, x2)
U75_gg(x1, x2, x3)  =  U75_gg(x1, x2, x3)
lesscO_in_gg(x1, x2)  =  lesscO_in_gg(x1, x2)
lesscO_out_gg(x1, x2)  =  lesscO_out_gg(x1, x2)
U59_gg(x1, x2, x3)  =  U59_gg(x1, x2, x3)
lesscR_out_gg(x1, x2)  =  lesscR_out_gg(x1, x2)
PP_IN_GGAG(x1, x2, x3, x4)  =  PP_IN_GGAG(x1, x2, x4)
U12_GGAG(x1, x2, x3, x4, x5)  =  U12_GGAG(x1, x2, x4, x5)
INSERTQ_IN_GAG(x1, x2, x3)  =  INSERTQ_IN_GAG(x1, x3)
PS_IN_GGAG(x1, x2, x3, x4)  =  PS_IN_GGAG(x1, x2, x4)
U17_GGAG(x1, x2, x3, x4, x5)  =  U17_GGAG(x1, x2, x4, x5)

We have to consider all (P,R,Pi)-chains

(17) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(18) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

PP_IN_GGAG(X1, X2, X3, X4) → U12_GGAG(X1, X2, X3, X4, lesscR_in_gg(X1, X2))
U12_GGAG(X1, X2, X3, X4, lesscR_out_gg(X1, X2)) → INSERTQ_IN_GAG(X1, X3, X4)
INSERTQ_IN_GAG(X1, tree(X2, X3, X4), tree(X2, X5, X4)) → PP_IN_GGAG(X1, X2, X3, X5)
INSERTQ_IN_GAG(X1, tree(X2, X3, X4), tree(X2, X3, X5)) → PS_IN_GGAG(X2, X1, X4, X5)
PS_IN_GGAG(X1, X2, X3, X4) → U17_GGAG(X1, X2, X3, X4, lesscO_in_gg(X1, s(X2)))
U17_GGAG(X1, X2, X3, X4, lesscO_out_gg(X1, s(X2))) → INSERTQ_IN_GAG(X2, X3, X4)

The TRS R consists of the following rules:

lesscR_in_gg(X1, s(X2)) → U75_gg(X1, X2, lesscO_in_gg(X1, X2))
lesscO_in_gg(0, s(X1)) → lesscO_out_gg(0, s(X1))
lesscO_in_gg(s(X1), s(X2)) → U59_gg(X1, X2, lesscO_in_gg(X1, X2))
U75_gg(X1, X2, lesscO_out_gg(X1, X2)) → lesscR_out_gg(X1, s(X2))
U59_gg(X1, X2, lesscO_out_gg(X1, X2)) → lesscO_out_gg(s(X1), s(X2))

The argument filtering Pi contains the following mapping:
tree(x1, x2, x3)  =  tree(x1, x2, x3)
s(x1)  =  s(x1)
0  =  0
lesscR_in_gg(x1, x2)  =  lesscR_in_gg(x1, x2)
U75_gg(x1, x2, x3)  =  U75_gg(x1, x2, x3)
lesscO_in_gg(x1, x2)  =  lesscO_in_gg(x1, x2)
lesscO_out_gg(x1, x2)  =  lesscO_out_gg(x1, x2)
U59_gg(x1, x2, x3)  =  U59_gg(x1, x2, x3)
lesscR_out_gg(x1, x2)  =  lesscR_out_gg(x1, x2)
PP_IN_GGAG(x1, x2, x3, x4)  =  PP_IN_GGAG(x1, x2, x4)
U12_GGAG(x1, x2, x3, x4, x5)  =  U12_GGAG(x1, x2, x4, x5)
INSERTQ_IN_GAG(x1, x2, x3)  =  INSERTQ_IN_GAG(x1, x3)
PS_IN_GGAG(x1, x2, x3, x4)  =  PS_IN_GGAG(x1, x2, x4)
U17_GGAG(x1, x2, x3, x4, x5)  =  U17_GGAG(x1, x2, x4, x5)

We have to consider all (P,R,Pi)-chains

(19) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(20) Obligation:

Q DP problem:
The TRS P consists of the following rules:

PP_IN_GGAG(X1, X2, X4) → U12_GGAG(X1, X2, X4, lesscR_in_gg(X1, X2))
U12_GGAG(X1, X2, X4, lesscR_out_gg(X1, X2)) → INSERTQ_IN_GAG(X1, X4)
INSERTQ_IN_GAG(X1, tree(X2, X5, X4)) → PP_IN_GGAG(X1, X2, X5)
INSERTQ_IN_GAG(X1, tree(X2, X3, X5)) → PS_IN_GGAG(X2, X1, X5)
PS_IN_GGAG(X1, X2, X4) → U17_GGAG(X1, X2, X4, lesscO_in_gg(X1, s(X2)))
U17_GGAG(X1, X2, X4, lesscO_out_gg(X1, s(X2))) → INSERTQ_IN_GAG(X2, X4)

The TRS R consists of the following rules:

lesscR_in_gg(X1, s(X2)) → U75_gg(X1, X2, lesscO_in_gg(X1, X2))
lesscO_in_gg(0, s(X1)) → lesscO_out_gg(0, s(X1))
lesscO_in_gg(s(X1), s(X2)) → U59_gg(X1, X2, lesscO_in_gg(X1, X2))
U75_gg(X1, X2, lesscO_out_gg(X1, X2)) → lesscR_out_gg(X1, s(X2))
U59_gg(X1, X2, lesscO_out_gg(X1, X2)) → lesscO_out_gg(s(X1), s(X2))

The set Q consists of the following terms:

lesscR_in_gg(x0, x1)
lesscO_in_gg(x0, x1)
U75_gg(x0, x1, x2)
U59_gg(x0, x1, x2)

We have to consider all (P,Q,R)-chains.

(21) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • U12_GGAG(X1, X2, X4, lesscR_out_gg(X1, X2)) → INSERTQ_IN_GAG(X1, X4)
    The graph contains the following edges 1 >= 1, 4 > 1, 3 >= 2

  • INSERTQ_IN_GAG(X1, tree(X2, X5, X4)) → PP_IN_GGAG(X1, X2, X5)
    The graph contains the following edges 1 >= 1, 2 > 2, 2 > 3

  • INSERTQ_IN_GAG(X1, tree(X2, X3, X5)) → PS_IN_GGAG(X2, X1, X5)
    The graph contains the following edges 2 > 1, 1 >= 2, 2 > 3

  • PP_IN_GGAG(X1, X2, X4) → U12_GGAG(X1, X2, X4, lesscR_in_gg(X1, X2))
    The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3

  • U17_GGAG(X1, X2, X4, lesscO_out_gg(X1, s(X2))) → INSERTQ_IN_GAG(X2, X4)
    The graph contains the following edges 2 >= 1, 4 > 1, 3 >= 2

  • PS_IN_GGAG(X1, X2, X4) → U17_GGAG(X1, X2, X4, lesscO_in_gg(X1, s(X2)))
    The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3

(22) YES

(23) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

U7_GAG(X1, X2, X3, lesscL_out_g(X1)) → INSERTK_IN_AG(X2, X3)
INSERTK_IN_AG(tree(X1, X2, X3), tree(X1, X4, X3)) → PJ_IN_GAG(X1, X2, X4)
PJ_IN_GAG(X1, X2, X3) → U7_GAG(X1, X2, X3, lesscL_in_g(X1))

The TRS R consists of the following rules:

lesscF_in_ga(0, s(X1)) → lesscF_out_ga(0, s(X1))
lesscF_in_ga(s(X1), s(X2)) → U53_ga(X1, X2, lesscF_in_ga(X1, X2))
U53_ga(X1, X2, lesscF_out_ga(X1, X2)) → lesscF_out_ga(s(X1), s(X2))
lesscL_in_g(s(X1)) → lesscL_out_g(s(X1))
lesscA_in_ag(0, s(X1)) → lesscA_out_ag(0, s(X1))
lesscA_in_ag(s(X1), s(X2)) → U42_ag(X1, X2, lesscA_in_ag(X1, X2))
U42_ag(X1, X2, lesscA_out_ag(X1, X2)) → lesscA_out_ag(s(X1), s(X2))
lesscR_in_gg(X1, s(X2)) → U75_gg(X1, X2, lesscO_in_gg(X1, X2))
lesscO_in_gg(0, s(X1)) → lesscO_out_gg(0, s(X1))
lesscO_in_gg(s(X1), s(X2)) → U59_gg(X1, X2, lesscO_in_gg(X1, X2))
U59_gg(X1, X2, lesscO_out_gg(X1, X2)) → lesscO_out_gg(s(X1), s(X2))
U75_gg(X1, X2, lesscO_out_gg(X1, X2)) → lesscR_out_gg(X1, s(X2))

The argument filtering Pi contains the following mapping:
tree(x1, x2, x3)  =  tree(x1, x2, x3)
s(x1)  =  s(x1)
lesscF_in_ga(x1, x2)  =  lesscF_in_ga(x1)
0  =  0
lesscF_out_ga(x1, x2)  =  lesscF_out_ga(x1)
U53_ga(x1, x2, x3)  =  U53_ga(x1, x3)
lesscL_in_g(x1)  =  lesscL_in_g(x1)
lesscL_out_g(x1)  =  lesscL_out_g(x1)
lesscA_in_ag(x1, x2)  =  lesscA_in_ag(x2)
lesscA_out_ag(x1, x2)  =  lesscA_out_ag(x1, x2)
U42_ag(x1, x2, x3)  =  U42_ag(x2, x3)
lesscR_in_gg(x1, x2)  =  lesscR_in_gg(x1, x2)
U75_gg(x1, x2, x3)  =  U75_gg(x1, x2, x3)
lesscO_in_gg(x1, x2)  =  lesscO_in_gg(x1, x2)
lesscO_out_gg(x1, x2)  =  lesscO_out_gg(x1, x2)
U59_gg(x1, x2, x3)  =  U59_gg(x1, x2, x3)
lesscR_out_gg(x1, x2)  =  lesscR_out_gg(x1, x2)
PJ_IN_GAG(x1, x2, x3)  =  PJ_IN_GAG(x1, x3)
U7_GAG(x1, x2, x3, x4)  =  U7_GAG(x1, x3, x4)
INSERTK_IN_AG(x1, x2)  =  INSERTK_IN_AG(x2)

We have to consider all (P,R,Pi)-chains

(24) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(25) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

U7_GAG(X1, X2, X3, lesscL_out_g(X1)) → INSERTK_IN_AG(X2, X3)
INSERTK_IN_AG(tree(X1, X2, X3), tree(X1, X4, X3)) → PJ_IN_GAG(X1, X2, X4)
PJ_IN_GAG(X1, X2, X3) → U7_GAG(X1, X2, X3, lesscL_in_g(X1))

The TRS R consists of the following rules:

lesscL_in_g(s(X1)) → lesscL_out_g(s(X1))

The argument filtering Pi contains the following mapping:
tree(x1, x2, x3)  =  tree(x1, x2, x3)
s(x1)  =  s(x1)
lesscL_in_g(x1)  =  lesscL_in_g(x1)
lesscL_out_g(x1)  =  lesscL_out_g(x1)
PJ_IN_GAG(x1, x2, x3)  =  PJ_IN_GAG(x1, x3)
U7_GAG(x1, x2, x3, x4)  =  U7_GAG(x1, x3, x4)
INSERTK_IN_AG(x1, x2)  =  INSERTK_IN_AG(x2)

We have to consider all (P,R,Pi)-chains

(26) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(27) Obligation:

Q DP problem:
The TRS P consists of the following rules:

U7_GAG(X1, X3, lesscL_out_g(X1)) → INSERTK_IN_AG(X3)
INSERTK_IN_AG(tree(X1, X4, X3)) → PJ_IN_GAG(X1, X4)
PJ_IN_GAG(X1, X3) → U7_GAG(X1, X3, lesscL_in_g(X1))

The TRS R consists of the following rules:

lesscL_in_g(s(X1)) → lesscL_out_g(s(X1))

The set Q consists of the following terms:

lesscL_in_g(x0)

We have to consider all (P,Q,R)-chains.

(28) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • INSERTK_IN_AG(tree(X1, X4, X3)) → PJ_IN_GAG(X1, X4)
    The graph contains the following edges 1 > 1, 1 > 2

  • PJ_IN_GAG(X1, X3) → U7_GAG(X1, X3, lesscL_in_g(X1))
    The graph contains the following edges 1 >= 1, 2 >= 2

  • U7_GAG(X1, X3, lesscL_out_g(X1)) → INSERTK_IN_AG(X3)
    The graph contains the following edges 2 >= 1

(29) YES

(30) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

LESSF_IN_GA(s(X1), s(X2)) → LESSF_IN_GA(X1, X2)

The TRS R consists of the following rules:

lesscF_in_ga(0, s(X1)) → lesscF_out_ga(0, s(X1))
lesscF_in_ga(s(X1), s(X2)) → U53_ga(X1, X2, lesscF_in_ga(X1, X2))
U53_ga(X1, X2, lesscF_out_ga(X1, X2)) → lesscF_out_ga(s(X1), s(X2))
lesscL_in_g(s(X1)) → lesscL_out_g(s(X1))
lesscA_in_ag(0, s(X1)) → lesscA_out_ag(0, s(X1))
lesscA_in_ag(s(X1), s(X2)) → U42_ag(X1, X2, lesscA_in_ag(X1, X2))
U42_ag(X1, X2, lesscA_out_ag(X1, X2)) → lesscA_out_ag(s(X1), s(X2))
lesscR_in_gg(X1, s(X2)) → U75_gg(X1, X2, lesscO_in_gg(X1, X2))
lesscO_in_gg(0, s(X1)) → lesscO_out_gg(0, s(X1))
lesscO_in_gg(s(X1), s(X2)) → U59_gg(X1, X2, lesscO_in_gg(X1, X2))
U59_gg(X1, X2, lesscO_out_gg(X1, X2)) → lesscO_out_gg(s(X1), s(X2))
U75_gg(X1, X2, lesscO_out_gg(X1, X2)) → lesscR_out_gg(X1, s(X2))

The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
lesscF_in_ga(x1, x2)  =  lesscF_in_ga(x1)
0  =  0
lesscF_out_ga(x1, x2)  =  lesscF_out_ga(x1)
U53_ga(x1, x2, x3)  =  U53_ga(x1, x3)
lesscL_in_g(x1)  =  lesscL_in_g(x1)
lesscL_out_g(x1)  =  lesscL_out_g(x1)
lesscA_in_ag(x1, x2)  =  lesscA_in_ag(x2)
lesscA_out_ag(x1, x2)  =  lesscA_out_ag(x1, x2)
U42_ag(x1, x2, x3)  =  U42_ag(x2, x3)
lesscR_in_gg(x1, x2)  =  lesscR_in_gg(x1, x2)
U75_gg(x1, x2, x3)  =  U75_gg(x1, x2, x3)
lesscO_in_gg(x1, x2)  =  lesscO_in_gg(x1, x2)
lesscO_out_gg(x1, x2)  =  lesscO_out_gg(x1, x2)
U59_gg(x1, x2, x3)  =  U59_gg(x1, x2, x3)
lesscR_out_gg(x1, x2)  =  lesscR_out_gg(x1, x2)
LESSF_IN_GA(x1, x2)  =  LESSF_IN_GA(x1)

We have to consider all (P,R,Pi)-chains

(31) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(32) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

LESSF_IN_GA(s(X1), s(X2)) → LESSF_IN_GA(X1, X2)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
LESSF_IN_GA(x1, x2)  =  LESSF_IN_GA(x1)

We have to consider all (P,R,Pi)-chains

(33) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(34) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LESSF_IN_GA(s(X1)) → LESSF_IN_GA(X1)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(35) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • LESSF_IN_GA(s(X1)) → LESSF_IN_GA(X1)
    The graph contains the following edges 1 > 1

(36) YES

(37) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

LESSA_IN_AG(s(X1), s(X2)) → LESSA_IN_AG(X1, X2)

The TRS R consists of the following rules:

lesscF_in_ga(0, s(X1)) → lesscF_out_ga(0, s(X1))
lesscF_in_ga(s(X1), s(X2)) → U53_ga(X1, X2, lesscF_in_ga(X1, X2))
U53_ga(X1, X2, lesscF_out_ga(X1, X2)) → lesscF_out_ga(s(X1), s(X2))
lesscL_in_g(s(X1)) → lesscL_out_g(s(X1))
lesscA_in_ag(0, s(X1)) → lesscA_out_ag(0, s(X1))
lesscA_in_ag(s(X1), s(X2)) → U42_ag(X1, X2, lesscA_in_ag(X1, X2))
U42_ag(X1, X2, lesscA_out_ag(X1, X2)) → lesscA_out_ag(s(X1), s(X2))
lesscR_in_gg(X1, s(X2)) → U75_gg(X1, X2, lesscO_in_gg(X1, X2))
lesscO_in_gg(0, s(X1)) → lesscO_out_gg(0, s(X1))
lesscO_in_gg(s(X1), s(X2)) → U59_gg(X1, X2, lesscO_in_gg(X1, X2))
U59_gg(X1, X2, lesscO_out_gg(X1, X2)) → lesscO_out_gg(s(X1), s(X2))
U75_gg(X1, X2, lesscO_out_gg(X1, X2)) → lesscR_out_gg(X1, s(X2))

The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
lesscF_in_ga(x1, x2)  =  lesscF_in_ga(x1)
0  =  0
lesscF_out_ga(x1, x2)  =  lesscF_out_ga(x1)
U53_ga(x1, x2, x3)  =  U53_ga(x1, x3)
lesscL_in_g(x1)  =  lesscL_in_g(x1)
lesscL_out_g(x1)  =  lesscL_out_g(x1)
lesscA_in_ag(x1, x2)  =  lesscA_in_ag(x2)
lesscA_out_ag(x1, x2)  =  lesscA_out_ag(x1, x2)
U42_ag(x1, x2, x3)  =  U42_ag(x2, x3)
lesscR_in_gg(x1, x2)  =  lesscR_in_gg(x1, x2)
U75_gg(x1, x2, x3)  =  U75_gg(x1, x2, x3)
lesscO_in_gg(x1, x2)  =  lesscO_in_gg(x1, x2)
lesscO_out_gg(x1, x2)  =  lesscO_out_gg(x1, x2)
U59_gg(x1, x2, x3)  =  U59_gg(x1, x2, x3)
lesscR_out_gg(x1, x2)  =  lesscR_out_gg(x1, x2)
LESSA_IN_AG(x1, x2)  =  LESSA_IN_AG(x2)

We have to consider all (P,R,Pi)-chains

(38) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(39) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

LESSA_IN_AG(s(X1), s(X2)) → LESSA_IN_AG(X1, X2)

R is empty.
The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
LESSA_IN_AG(x1, x2)  =  LESSA_IN_AG(x2)

We have to consider all (P,R,Pi)-chains

(40) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(41) Obligation:

Q DP problem:
The TRS P consists of the following rules:

LESSA_IN_AG(s(X2)) → LESSA_IN_AG(X2)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.

(42) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • LESSA_IN_AG(s(X2)) → LESSA_IN_AG(X2)
    The graph contains the following edges 1 > 1

(43) YES

(44) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

INSERTB_IN_AAG(X1, tree(X2, X3, X4), tree(X2, X3, X5)) → PI_IN_GAAG(X2, X1, X4, X5)
PI_IN_GAAG(X1, X2, X3, X4) → U26_GAAG(X1, X2, X3, X4, lesscF_in_ga(X1, X2))
U26_GAAG(X1, X2, X3, X4, lesscF_out_ga(X1, X2)) → INSERTB_IN_AAG(X2, X3, X4)
INSERTB_IN_AAG(s(X1), tree(0, X2, X3), tree(0, X2, X4)) → INSERTB_IN_AAG(s(X1), X3, X4)
INSERTB_IN_AAG(s(X1), tree(s(X2), X3, X4), tree(s(X2), X3, X5)) → U39_AAG(X1, X2, X3, X4, X5, lesscF_in_ga(X2, X1))
U39_AAG(X1, X2, X3, X4, X5, lesscF_out_ga(X2, X1)) → INSERTB_IN_AAG(s(X1), X4, X5)

The TRS R consists of the following rules:

lesscF_in_ga(0, s(X1)) → lesscF_out_ga(0, s(X1))
lesscF_in_ga(s(X1), s(X2)) → U53_ga(X1, X2, lesscF_in_ga(X1, X2))
U53_ga(X1, X2, lesscF_out_ga(X1, X2)) → lesscF_out_ga(s(X1), s(X2))
lesscL_in_g(s(X1)) → lesscL_out_g(s(X1))
lesscA_in_ag(0, s(X1)) → lesscA_out_ag(0, s(X1))
lesscA_in_ag(s(X1), s(X2)) → U42_ag(X1, X2, lesscA_in_ag(X1, X2))
U42_ag(X1, X2, lesscA_out_ag(X1, X2)) → lesscA_out_ag(s(X1), s(X2))
lesscR_in_gg(X1, s(X2)) → U75_gg(X1, X2, lesscO_in_gg(X1, X2))
lesscO_in_gg(0, s(X1)) → lesscO_out_gg(0, s(X1))
lesscO_in_gg(s(X1), s(X2)) → U59_gg(X1, X2, lesscO_in_gg(X1, X2))
U59_gg(X1, X2, lesscO_out_gg(X1, X2)) → lesscO_out_gg(s(X1), s(X2))
U75_gg(X1, X2, lesscO_out_gg(X1, X2)) → lesscR_out_gg(X1, s(X2))

The argument filtering Pi contains the following mapping:
tree(x1, x2, x3)  =  tree(x1, x2, x3)
s(x1)  =  s(x1)
lesscF_in_ga(x1, x2)  =  lesscF_in_ga(x1)
0  =  0
lesscF_out_ga(x1, x2)  =  lesscF_out_ga(x1)
U53_ga(x1, x2, x3)  =  U53_ga(x1, x3)
lesscL_in_g(x1)  =  lesscL_in_g(x1)
lesscL_out_g(x1)  =  lesscL_out_g(x1)
lesscA_in_ag(x1, x2)  =  lesscA_in_ag(x2)
lesscA_out_ag(x1, x2)  =  lesscA_out_ag(x1, x2)
U42_ag(x1, x2, x3)  =  U42_ag(x2, x3)
lesscR_in_gg(x1, x2)  =  lesscR_in_gg(x1, x2)
U75_gg(x1, x2, x3)  =  U75_gg(x1, x2, x3)
lesscO_in_gg(x1, x2)  =  lesscO_in_gg(x1, x2)
lesscO_out_gg(x1, x2)  =  lesscO_out_gg(x1, x2)
U59_gg(x1, x2, x3)  =  U59_gg(x1, x2, x3)
lesscR_out_gg(x1, x2)  =  lesscR_out_gg(x1, x2)
INSERTB_IN_AAG(x1, x2, x3)  =  INSERTB_IN_AAG(x3)
PI_IN_GAAG(x1, x2, x3, x4)  =  PI_IN_GAAG(x1, x4)
U26_GAAG(x1, x2, x3, x4, x5)  =  U26_GAAG(x1, x4, x5)
U39_AAG(x1, x2, x3, x4, x5, x6)  =  U39_AAG(x2, x3, x5, x6)

We have to consider all (P,R,Pi)-chains

(45) UsableRulesProof (EQUIVALENT transformation)

For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.

(46) Obligation:

Pi DP problem:
The TRS P consists of the following rules:

INSERTB_IN_AAG(X1, tree(X2, X3, X4), tree(X2, X3, X5)) → PI_IN_GAAG(X2, X1, X4, X5)
PI_IN_GAAG(X1, X2, X3, X4) → U26_GAAG(X1, X2, X3, X4, lesscF_in_ga(X1, X2))
U26_GAAG(X1, X2, X3, X4, lesscF_out_ga(X1, X2)) → INSERTB_IN_AAG(X2, X3, X4)
INSERTB_IN_AAG(s(X1), tree(0, X2, X3), tree(0, X2, X4)) → INSERTB_IN_AAG(s(X1), X3, X4)
INSERTB_IN_AAG(s(X1), tree(s(X2), X3, X4), tree(s(X2), X3, X5)) → U39_AAG(X1, X2, X3, X4, X5, lesscF_in_ga(X2, X1))
U39_AAG(X1, X2, X3, X4, X5, lesscF_out_ga(X2, X1)) → INSERTB_IN_AAG(s(X1), X4, X5)

The TRS R consists of the following rules:

lesscF_in_ga(0, s(X1)) → lesscF_out_ga(0, s(X1))
lesscF_in_ga(s(X1), s(X2)) → U53_ga(X1, X2, lesscF_in_ga(X1, X2))
U53_ga(X1, X2, lesscF_out_ga(X1, X2)) → lesscF_out_ga(s(X1), s(X2))

The argument filtering Pi contains the following mapping:
tree(x1, x2, x3)  =  tree(x1, x2, x3)
s(x1)  =  s(x1)
lesscF_in_ga(x1, x2)  =  lesscF_in_ga(x1)
0  =  0
lesscF_out_ga(x1, x2)  =  lesscF_out_ga(x1)
U53_ga(x1, x2, x3)  =  U53_ga(x1, x3)
INSERTB_IN_AAG(x1, x2, x3)  =  INSERTB_IN_AAG(x3)
PI_IN_GAAG(x1, x2, x3, x4)  =  PI_IN_GAAG(x1, x4)
U26_GAAG(x1, x2, x3, x4, x5)  =  U26_GAAG(x1, x4, x5)
U39_AAG(x1, x2, x3, x4, x5, x6)  =  U39_AAG(x2, x3, x5, x6)

We have to consider all (P,R,Pi)-chains

(47) PiDPToQDPProof (SOUND transformation)

Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.

(48) Obligation:

Q DP problem:
The TRS P consists of the following rules:

INSERTB_IN_AAG(tree(X2, X3, X5)) → PI_IN_GAAG(X2, X5)
PI_IN_GAAG(X1, X4) → U26_GAAG(X1, X4, lesscF_in_ga(X1))
U26_GAAG(X1, X4, lesscF_out_ga(X1)) → INSERTB_IN_AAG(X4)
INSERTB_IN_AAG(tree(0, X2, X4)) → INSERTB_IN_AAG(X4)
INSERTB_IN_AAG(tree(s(X2), X3, X5)) → U39_AAG(X2, X3, X5, lesscF_in_ga(X2))
U39_AAG(X2, X3, X5, lesscF_out_ga(X2)) → INSERTB_IN_AAG(X5)

The TRS R consists of the following rules:

lesscF_in_ga(0) → lesscF_out_ga(0)
lesscF_in_ga(s(X1)) → U53_ga(X1, lesscF_in_ga(X1))
U53_ga(X1, lesscF_out_ga(X1)) → lesscF_out_ga(s(X1))

The set Q consists of the following terms:

lesscF_in_ga(x0)
U53_ga(x0, x1)

We have to consider all (P,Q,R)-chains.

(49) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • PI_IN_GAAG(X1, X4) → U26_GAAG(X1, X4, lesscF_in_ga(X1))
    The graph contains the following edges 1 >= 1, 2 >= 2

  • U26_GAAG(X1, X4, lesscF_out_ga(X1)) → INSERTB_IN_AAG(X4)
    The graph contains the following edges 2 >= 1

  • INSERTB_IN_AAG(tree(X2, X3, X5)) → PI_IN_GAAG(X2, X5)
    The graph contains the following edges 1 > 1, 1 > 2

  • INSERTB_IN_AAG(tree(s(X2), X3, X5)) → U39_AAG(X2, X3, X5, lesscF_in_ga(X2))
    The graph contains the following edges 1 > 1, 1 > 2, 1 > 3

  • INSERTB_IN_AAG(tree(0, X2, X4)) → INSERTB_IN_AAG(X4)
    The graph contains the following edges 1 > 1

  • U39_AAG(X2, X3, X5, lesscF_out_ga(X2)) → INSERTB_IN_AAG(X5)
    The graph contains the following edges 3 >= 1

(50) YES